/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package domain.Informe;


import java.util.Date;
import java.util.List;

/**
 *
 * @author jorge
 */
public class InformeTrabajador implements InformeCreado {
    
    public InformeTrabajador(){
        
    }
    
    private InformeTrabajador subtipo;
	
	public InformeTrabajador(String tipo){
		
                if(tipo.equals("fechas")){
			subtipo = new InformeFechasTrabajador();
		}
		else if(tipo.equals("semanal")){
			subtipo = new InformeSemanalTrabajador();
                }
		else if(tipo.equals("mensual")){
			subtipo = new InformeMensualTrabajador();
                }
		else if(tipo.equals("etiqueta")){
			subtipo = new InformeEtiquetaTrabajador(); 
                }        
	}

     public List creaInforme(long identificador) {
        
        if(subtipo ==null){
            throw new NullPointerException("No ha elegido subtipo");
        }else{
            return subtipo.creaInforme(identificador);
        } 
    }

    public List crearInformeFechas(Date fecIni, Date fecFin, long identificador) {
         
        if(subtipo ==null){
            throw new NullPointerException("No ha elegido subtipo");
        }else{
            return subtipo.crearInformeFechas(fecIni,fecFin,identificador);
        } 
    }

    public List crearInformeEtiqueta(String etiqueta, long identificador) {
         
        if(subtipo ==null){
            throw new NullPointerException("No ha elegido subtipo");
        }else{
            return subtipo.crearInformeEtiqueta(etiqueta,identificador);
        } 
    }

    public List creaInformeTrabajador(long identificador, long dni) {
        if(subtipo ==null){
            throw new NullPointerException("No ha elegido subtipo");
        }else{
            return subtipo.creaInformeTrabajador(identificador,dni);
        } 
    }

}
